package cn.px.activiti.service;

import cn.px.activiti.dao.dto.ActModelDTO;
import cn.px.activiti.dao.entity.ActApplyInfo;
import cn.px.dao.bean.MyPage;
import org.activiti.engine.repository.Model;

/**
 * @Description 工作流 service
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2019,安徽阡陌网络科技有限公司 All rights reserved.
 */
public interface ActivitiService {

    /**
     * 创建模型
     *
     * @param model
     */
    void createModel(ActModelDTO model);

    /**
     * 修改模型
     *
     * @param model
     */
    void updateModel(ActModelDTO model);

    /**
     * 修改模型
     *
     * @param model
     * @param pageNum
     * @param pageSize
     * @return
     */
    MyPage getModelPage(Model model, Integer pageNum, Integer pageSize);

    /**
     * 开始流程
     */
    String startProcess(String key, ActApplyInfo applyInfo);

    /**
     * 开始节点 - 指定下一个审批人
     *
     * @param key
     * @param applyInfo
     * @param userId
     * @return
     */
    String startProcess(String key, ActApplyInfo applyInfo, String userId, Integer result);

    /**
     * 开始节点 - 指定下一个审批人
     *
     * @param key
     * @param applyInfo
     * @param userId
     * @return
     */
    String startProcess(String key, ActApplyInfo applyInfo, String userId, Integer result, String applyComment);
}
